package ${packageName}.dao;

import java.util.List;

import com.github.pagehelper.Page;
import ${packageName}.entity.${tableInfo.tableClassName};
import ${packageName}.entity.${tableInfo.tableClassName}Example;

/**
 * ${tableInfo.tableRemark} 接口类
 **/
public interface ${tableInfo.tableClassName}Mapper{

	/**
	 * ${tableInfo.tableRemark} 
 	 * @description  删除
 	 * @param ${tableInfo.objectBeanName}
	 **/
 	int deleteByExample(${tableInfo.tableClassName}Example example);

	/**
	 * ${tableInfo.tableRemark} 
 	 * @description  新增全部
	 * @param ${tableInfo.objectBeanName}
	 **/
 	int insert(${tableInfo.tableClassName} record);

	/**
	 * ${tableInfo.tableRemark} 
 	 * @description  新增-部分字段
 	 * @param ${tableInfo.objectBeanName}
	 **/
	int insertSelective(${tableInfo.tableClassName} record);
	
	/**
	 * ${tableInfo.tableRemark} 
 	 * @description 批量导入
 	 * @param ${tableInfo.objectBeanName}
	 **/
	long insertBatch(List<${tableInfo.tableClassName}> list);

	/**
	 * ${tableInfo.tableRemark} 
 	 * @description  查询列表
 	 * @param ${tableInfo.objectBeanName}
	 **/
	List<${tableInfo.tableClassName}> selectByExampleList(${tableInfo.tableClassName}Example example);

	/**
	 * ${tableInfo.tableRemark} 
 	 * @description  分页查询
 	 * @param ${tableInfo.objectBeanName}
	 **/
	Page<${tableInfo.tableClassName}> selectByExamplePage(${tableInfo.tableClassName}Example example);

	/**
	 * ${tableInfo.tableRemark} 
 	 * @description  查询根据id
 	 * @param ${tableInfo.tablePkInfo.javaName}s  主键Id
	 **/
	${tableInfo.tableClassName} selectByPrimaryKey(${tableInfo.tablePkInfo.javaType} ${tableInfo.tablePkInfo.javaName});
    	

	/**
	 * ${tableInfo.tableRemark} 
 	 * @description   更新-部分字段
 	 * @param ${tableInfo.objectBeanName}
	 **/
	int updateByPrimaryKeySelective(${tableInfo.tableClassName} record);


	/**
	 * ${tableInfo.tableRemark}
 	 * @description   更新 根据id
 	 * @param ${tableInfo.objectBeanName}
 	 * @param ${tableInfo.tablePkInfo.javaName}s  主键Id
	 **/
	int updateByPrimaryKey(${tableInfo.tableClassName} record);	
}